Skip to content

Conversation

@juliasloan25
Copy link
Member

@juliasloan25 juliasloan25 commented Oct 9, 2025

Purpose

Integrate ClimaSeaIce into the ClimaCoupler ecosystem.

Closes #1391

Content

  • add struct ClimaSeaIceSimulation in components/ocean/clima_seaice.jl which inherits a lot of setup from the ocean
  • call CO.compute_sea_ice_ocean_fluxes from ClimaCoupler to compute fluxes - requires Restructure sea ice ocean fluxes ClimaOcean.jl#627
  • only use_restoring in ocean model when not using clima sea ice model (i.e. when using prescribed sea ice)
  • separate drivers for each simulation mode to avoid so many if/else branches (separate PR)

Dependency requirements

This PR requires ClimaOcean v0.8.6 and Oceananigans v0.100.
Because of Thermodynamics dependencies, these aren't compatible with the latest existing ClimaAtmos and ClimaLand versions. We need to update and release Atmos and Land, then update these 4 packages + Thermodynamics and SurfaceFluxes in ClimaCoupler.


  • I have read and checked the items on the review checklist.

@juliasloan25 juliasloan25 force-pushed the js/ocean-seaice branch 6 times, most recently from dfaf00a to 15ccf8f Compare October 24, 2025 21:56
@simone-silvestri
Copy link

How would I run a coupled simulation from this PR? I think it would be nice to post some videos/visualizations in this PR.

@juliasloan25
Copy link
Member Author

juliasloan25 commented Oct 26, 2025

How would I run a coupled simulation from this PR? I think it would be nice to post some videos/visualizations in this PR.

Sorry I forgot you had asked me to explain how to run it in the PR. You can run this (it'll get cleaner once we have a config file for this setup):

cd ClimaCoupler.jl/experiments/ClimaEarth
julia --project
include("setup_run.jl")

config_file = "../../config/ci_configs/my_first_cmip.yml"
config_dict = get_coupler_config_dict(config_file)
config_dict["ice_model"] = "clima_seaice"
cs = CoupledSimulation(config_dict)
run!(cs) (or step!(cs))

@juliasloan25
Copy link
Member Author

How would I run a coupled simulation from this PR? I think it would be nice to post some videos/visualizations in this PR.

Sorry I forgot you had asked me to explain how to run it in the PR. You can run this (it'll get cleaner once we have a config file for this setup):

cd ClimaCoupler.jl/experiments/ClimaEarth
julia --project
include("setup_run.jl")

config_file = "../../config/ci_configs/my_first_cmip.yml"
config_dict = get_coupler_config_dict(config_file)
config_dict["ice_model"] = "clima_seaice"
cs = CoupledSimulation(config_dict)
run!(cs) (or step!(cs))

I added a config file for this setup so now you can run with:

cd ClimaCoupler.jl/experiments/ClimaEarth
julia --project
include("setup_run.jl")

config_file = "../../config/ci_configs/cmip_oceananigans_climaseaice.yml"
cs = CoupledSimulation(config_file)
run!(cs) (or step!(cs))

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

use ClimaSeaIce for a more complex sea ice model

3 participants